#pragma once
#include "IBitmapPicture.h"
#include "Utilities.h"

/*
Implementation of the interface IBitmapPicture
*/
class PictureImpl : public IBitmapPicture
{
public:
	PictureImpl();

	virtual int GetRawWidth() const;
	virtual int GetRawHeight() const;
	virtual int GetBytesInRow() const;
	virtual const BYTE* GetData() const;
	virtual int GetOffsetX() const;
	virtual int GetOffsetY() const;

	void SetWidthHeight(int width, int height);
	BYTE* GetData();
	void CleanUp();
private:
	ByteVector mData;

	int mWidth;
	int mHeight;

	PictureImpl(const PictureImpl&);
	void operator=(const PictureImpl&);
};

